﻿using System;
using System.Collections.Generic;
using AIPASoft.Interfaces;
using AIPASoft.Interfaces.BusinessDomain;
using AIPASoft.Interfaces.Security;

namespace DomainManager
{
    public class DomainManager : IDomainManager, IPlugin
    {
        public IApplicationManager ApplicationManagerInstance { get; set; }
        public ILogProvider LogProviderInstance { get; set; }
        public ISecurityLibrary SecurityLibraryInstance { get; set; }
        public IUserRealm CurrentUser { get; set; } 
         
        public DomainManager()
        {
            Name = "DomainManager";
        }

        #region Implementation of IDomainManager

        public List<IPlugin> Plugins { get; set; }
        public bool LoadAllPlugins()
        {
            throw new NotImplementedException();
        }

        public T QueryDomain<T>(T domainInterface)
        {
            throw new NotImplementedException();
        }

        public void StartInitialization()
        {
            throw new NotImplementedException();
        }

        public void FinishInitialization()
        {
            throw new NotImplementedException();
        } 

        #endregion

        #region Implementation of IPlugin

        public string Name { get; set; }

        #endregion
    }
}
